//缺省的的整型
//思路二：找最大值，最小值，求其中数后和减去数组和
#include<stdio.h>
void Swap(int* x, int* y)
{
	int tmp;
	tmp = *x;
	*x = *y;
	*y = tmp;
	return;
}
void Bubble_Sort(int arr[], int sz)
{
	int i, j, flag;
	//趟数和每趟的次数
	for (i = 0; i < sz - 1; i++)
	{
		flag = 0;//标记
		for (j = 0; j < sz - 1 - i; j++)
		{
			if (arr[j] > arr[j + 1]) {
				Swap(&arr[j], &arr[j + 1]);//传址调用
				flag = 1;
			}
		}
		if (!flag)
			break;
	}
	return;
}
int Sum_Array(int arr[], int sz)
{
	int sum = arr[0];
	for (int i = 1; i < sz; i++)
		sum += arr[i];
	return sum;	
}
int Sum_Numbers(int max,int min)
{
	int sum = min;
	for (int i = min+1; i <= max; i++)
		sum += i;
	return sum;
}
int main()
{
	int sz, max, min, ret1, ret2;
	int arr[] = { 6,5,4,2,1 };
	sz = sizeof(arr) / sizeof(arr[0]);
	Bubble_Sort(arr, sz);//排序(升)
	max = arr[sz - 1];//找出最大值
	min = arr[0];//找出最小值
	ret1 = Sum_Array(arr, sz);//数组求和
	ret2 = Sum_Numbers(max, min);//最值求和
	printf("%d\n", ret2 - ret1);
	return 0;
}
